package com.wqj.kyee.gps

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.view.animation.AccelerateInterpolator
import android.opengl.ETC1.getHeight
import android.opengl.ETC1.getWidth
import android.util.Log
import com.wqj.kyee.gps.util.Rotate3DAnimation
import kotlinx.android.synthetic.main.activity_animation3d.*


class Animation3DActivity : AppCompatActivity(), View.OnClickListener {

    var dg: Float= 1f
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_animation3d)
        btn1.setOnClickListener(this)
        btn2.setOnClickListener(this)
        btn3.setOnClickListener(this)
        btn4.setOnClickListener(this)
    }

    override fun onClick(p0: View?) {
        when(p0?.id) {
            R.id.btn1 -> {
                // 获取布局的中心点位置，作为旋转的中心点
                var loc: IntArray = IntArray(2)
                picture.getLocationInWindow(loc)
                val centerX = picture.width / 2f
                val centerY = picture.height / 2f
                Log.d("wqj", "centerx: " + centerX + ", centery: " + centerY)
                // 构建3D旋转动画对象，旋转角度为0到90度，这使得ListView将会从可见变为不可见
                val rotation = Rotate3DAnimation(0f, 60f, centerX, centerY,
                        0f, 0, true)
                // 动画持续时间500毫秒
                rotation.setDuration(5000)
                // 动画完成后保持完成的状态
                rotation.setFillAfter(true)
                rotation.setInterpolator(AccelerateInterpolator())
                // 设置动画的监听器
                // rotation.setAnimationListener(TurnToImageView())
                picture.startAnimation(rotation)
            }
            R.id.btn2 -> {
                // 获取布局的中心点位置，作为旋转的中心点
                var loc: IntArray = IntArray(2)
                picture.getLocationInWindow(loc)
                val centerX = picture.width / 2f
                val centerY = picture.height / 2f
                // 构建3D旋转动画对象，旋转角度为0到90度，这使得ListView将会从可见变为不可见
                val rotation = Rotate3DAnimation(0f, 60f, centerX, centerY,
                        0f, 1, true)
                // 动画持续时间500毫秒
                rotation.setDuration(5000)
                // 动画完成后保持完成的状态
                rotation.setFillAfter(true)
                rotation.setInterpolator(AccelerateInterpolator())
                // 设置动画的监听器
                // rotation.setAnimationListener(TurnToImageView())
                picture.startAnimation(rotation)
            }
            R.id.btn3 -> {
                // 获取布局的中心点位置，作为旋转的中心点
                var loc: IntArray = IntArray(2)
                picture.getLocationInWindow(loc)
                val centerX = picture.width / 2f
                val centerY = picture.height / 2f
                // 构建3D旋转动画对象，旋转角度为0到90度，这使得ListView将会从可见变为不可见
                val rotation = Rotate3DAnimation(0f, 60f, centerX, centerY,
                        60f, 2, true)
                // 动画持续时间500毫秒
                rotation.setDuration(5000)
                // 动画完成后保持完成的状态
                rotation.setFillAfter(true)
                rotation.setInterpolator(AccelerateInterpolator())
                // 设置动画的监听器
                // rotation.setAnimationListener(TurnToImageView())
                picture.startAnimation(rotation)
            }
            R.id.btn4 -> {
                // 获取布局的中心点位置，作为旋转的中心点
                var loc: IntArray = IntArray(2)
                picture.getLocationInWindow(loc)
                val centerX = picture.width / 2f
                val centerY = picture.height / 2f
                // 构建3D旋转动画对象，旋转角度为0到90度，这使得ListView将会从可见变为不可见
                val rotation = Rotate3DAnimation(0f, 60f, 0f, 0f,
                        0f, 0, true)
                // 动画持续时间500毫秒
                rotation.setDuration(5000)
                // 动画完成后保持完成的状态
                rotation.setFillAfter(true)
                rotation.setInterpolator(AccelerateInterpolator())
                // 设置动画的监听器
                // rotation.setAnimationListener(TurnToImageView())
                picture.startAnimation(rotation)
            }
        }
    }
}
